//---------------------------------------------------------------------------------
// Copyright (c) 2011, Microsoft Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//---------------------------------------------------------------------------------
namespace Microsoft.ServiceBus.AccessControlExtensions
{
    public enum IdentityProviderKeyType
    {
        ApplicationKey,
        Symmetric,
        X509Certificate
    }

    public enum IdentityProviderKeyUsage
    {
        ApplicationId,
        ApplicationSecret,
        Signing
    }

    public enum IdentityProviderProtocolType
    {
        Facebook,
        OpenId,
        WsFederation
    }

    public enum IdentityProviderEndpointType
    {
        EmailDomain,
        FedMetadataUrl,
        ImageUrl,
        SignIn,
        SignOut
    }

    public enum RelyingPartyTokenType
    {
        SAML_1_1,
        SAML_2_0,
        SWT
    } ;

    public enum RelyingPartyKeyType
    {
        Symmetric,
        X509Certificate
    } ;

    public enum RelyingPartyKeyUsage
    {
        Encrypting,
        Signing
    } ;

    public enum RelyingPartyAddressType
    {
        Error,
        Realm,
        Reply
    }

    public enum ServiceIdentityKeyType
    {
        Password,
        Symmetric,
        X509Certificate
    } ;

    /// <summary>
    ///   The valid list of key usages
    /// </summary>
    public enum ServiceIdentityKeyUsage
    {
        Password,
        Signing
    }

    public enum ServiceKeyType
    {
        X509Certificate,
        Password,
        Symmetric
    }

    public enum ServiceKeyUsage
    {
        Signing,
        Management,
        Encrypting,
    }
}
